Kernel (programming language)

Kernel is a Scheme-like programming language by John N. Shutt in which all objects are first-class.

Example

In the programming language Scheme, and is a macro, because (and #f (/ 1 0)) must not evaluate the division. This means it cannot be used in higher-order functions; it is second-class. In Kernel, one has $and? defined by

 

which is a first-class object — technically, a fexpr — and can thus be used in higher-order functions, such as map.

References